package cn.bugstack;

import cn.bugstack.response.Response;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * @Classname IRAGService
 * @Description TODO
 * @Date 2025/10/16 14:33
 * @Author 勾新杰
 */
public interface IRAGService {

    /**
     * 查询 rag 标签列表
     * @return rag 列表
     */
    Response<List<String>> queryRAGTagList();

    /**
     * 文件上传
     * @param ragTag rag 标签
     * @param files 文件
     * @return 文件上传结果
     */
    Response<String> uploadFile(String ragTag, List<MultipartFile> files);

    /**
     * git 仓库分析
     * @param repoUrl git 仓库地址
     * @param username git 仓库用户名
     * @param token git 仓库密码
     * @return 加入到知识库中
     */
    Response<String> analyzeGitRepository(String repoUrl, String username, String token) throws IOException, GitAPIException;
}
